USE [TEST]
GO

/****** Object:  StoredProcedure [dbo].[usp_MyCalculator]    Script Date: 2/21/2019 12:42:26 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

DECLARE @answer INT;

EXEC  [dbo].[usp_MyCalculator] 10,5,@answer OUT,'+'

SELECT @answer;
GO


CREATE PROCEDURE [dbo].[usp_MyCalculator]
(
@value_1 INT,
@value_2 INT,
@Answer INT OUT,
@Operator CHAR(1)
)
AS
BEGIN TRY

IF @Operator = '+' 
	SET @Answer = @value_1 + @value_2
ELSE IF @Operator = '-' 
	SET @Answer = @value_1 - @value_2
ELSE IF @Operator = '*' 
	SET @Answer = @value_1 * @value_2
ELSE IF @Operator = '/' 
	SET @Answer = @value_1 / @value_2
ELSE SET @Answer = -99999999999999999;
END TRY
BEGIN CATCH

	DECLARE @ErrorMsg	VARCHAR(256);
    DECLARE @ErrorLine	INT;
    DECLARE @ErrorNo	INT;
    DECLARE @ErrorProc	VARCHAR(256);
    DECLARE @ErrorState	VARCHAR(256);
	
	PRINT 'We caught an Error!'
	
	SET @ErrorMsg	= ERROR_MESSAGE();
	SET @ErrorLine	= ERROR_LINE(); 
	SET @ErrorNo	= ERROR_NUMBER();
	SET @ErrorProc	= ERROR_PROCEDURE();
	SET @ErrorState = ERROR_STATE();
		
	PRINT '@ErrorMsg: ' + @ErrorMsg;
	PRINT '@ErrorLine: ' + CONVERT(VARCHAR,@ErrorLine); 
	PRINT '@ErrorNo: ' + CONVERT(VARCHAR,@ErrorNo);
	PRINT '@ErrorProc: ' + @ErrorProc ;
	PRINT '@ErrorState: ' +  CONVERT(VARCHAR,@ErrorState);

END CATCH
GO


